Method and Computer Product for Switching Subsequent Messages With Higher Priority Than Invite Messages in a Softswitch

ABSTRACT

A method for switching invite messages and subsequent messages in a softswitch directing the invite messages to a first list, and the subsequent messages to a second list. The method processes the subsequent messages of the second list with a higher priority than the messages of the first list.

TECHNICAL FIELD

The present invention relates to a method for switching invite messagesand subsequent messages in a softswitch.

BACKGROUND OF THE INVENTION

The softswitch is used to control connections at the junction pointbetween circuit and packet networks. The softswitch is a central devicein a communication network which connects calls from one communicationline to another. The switching takes place by means of software runningon a computer system.

For establishing a session between an inviting party and an invitedparty a signalization procedure is processed before the user data can betransmitted between these parties. The protocol which is used forinitiation a session is called SIP (session initiation protocol). In SIPan inviting party sends an invite message to the softswitch and thesoftswitch executes then the signalization procedure. If too manyparties generate signalization traffic, the softswitch may also discardbye messages, which in turn is inefficient concerning the handling ofsession resources. I.e., session resources could be released but are notreleased because the bye messages have been discarded.

SUMMARY OF THE INVENTION

One object of the invention is to provide a method for switching invitemessages and subsequent messages in a softswitch with which it is madesure that also during huge signalization traffic the processing ofmessages related to existing sessions is assured.

An overload because of too many incoming requests should not lead to adegradation of the performance the softswitch. This means, that new callrequests should not prevent call release messages from being processedby the softswitch.

According to one aspect of the invention, the object is achieved by amethod for switching invite messages and subsequent messages in asoftswitch with the features of the independent claim 1.

The method according to the invention for switching invite messages andsubsequent messages in a softswitch comprises the following steps. Theinvite messages are directed to a first list and the subsequent messagesare directed to a second list, whereas the subsequent messages of thesecond list are processed with a higher priority than the messages ofthe first list.

Advantageous further developments of the invention arise from thecharacteristics indicated in the dependent patent claims.

Preferably, in the method according to the invention the messages of thefirst list are processed, if the second list is empty.

Advantageously, in the method according to the invention the invitemessages are directed by an inviting party to a first port of thesoftswitch, and the subsequent messages are directed by the invitingparty to a further port of the softswitch.

An embodiment of the method according to the invention comprises thefollowing step. After the softswitch has received an invite massage fromthe inviting party, the softswitch transmits a message to the invitingparty indicating that the subsequent messages shall be send by theinviting party to the further port.

In another embodiment of the method according to the invention thesubsequent message of the second list is added to the first list, if thesubsequent message does not relate to an accepted session.

Furthermore, in the method according to the invention the subsequentmessage can be an acknowledge, bye, option or a cancel message.

For solving the object of the invention it is suggested that readingfrom the first list or the second list is executed by a sessioninitiation protocol machine.

In a further embodiment of the method according to the invention thesoftswitch uses the session initiation protocol SIP.

Furthermore, a computer program element can be provided, comprisingcomputer program code for performing steps according to the abovementioned method when loaded in a digital processor of a computingdevice.

Additionally, a computer program product stored on a computer usablemedium can be provided, comprising computer readable program code forcausing a computing device to perform the mentioned method.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention and its embodiments will be more fully appreciated byreference to the following detailed description of presently preferredbut nonetheless illustrative embodiments in accordance with the presentinvention when taken in conjunction with the accompanying drawings.

The figures are illustrating:

FIG. 1 a block diagram of the softswitch according to the invention, and

FIG. 2 an example of a message flow.

DETAILED DESCRIPTION OF THE DRAWINGS

The invention makes sure that VoIP SIP signaling messages related to anexisting call, which is also referred to as accepted call, are processedbefore new calls are accepted.

In FIG. 1 a block diagram of an embodiment of a softswitch 1 accordingto the invention is depicted. The softswitch 1 uses the voice overinternet protocol (VoIP) SIP (session initiation protocol) as specifiedin RFC 3261 (http://www.ietf.org/rfc/rfc3261.txt).

In FIG. 1 a first party U1 wants to call second party U2. The firstparty U1, calling party or short caller, is the party initiating asession and a dialog with an invite request. The caller U1 retains thisrole from the time it sends the initial invite request that establisheda dialog until the termination of that dialog.

The second party U2 is hereinafter called invitee, invited user orcalled party. The called party U2 is the party that receives an inviterequest for the purpose of establishing a new session. The called partyretains U2 this role from the time it receives the invite request untilthe termination of the dialog established by that invite request.

To establish a call, the caller U1 transmits in a first step 1: aninvite message to an IP list port x. Port x forwards the invite messageto a first list, which is called input list for invite messages IL. Ingeneral, the invite message is a request to invite a user or a serviceto a new session or to modify parameters of an established session. InFIG. 1 the invite message is a request to invite the second party U2 toestablish a session.

It should be noted that the expression call is an informal term thatrefers to some communication between parties, and also for the purposesof a multimedia conversation.

A message is data, which is sent between SIP elements as part of thesession initiation protocol. A SIP message is either a request from aclient to a server, or a response from a server to a client.

A session is hereinafter a set of multimedia senders and receivers andthe data streams flowing from senders to receivers. A multimediaconference is an example of a session. A session as defined for thesession description protocol (SDP) can comprise one or more real-timetrans-port protocol (RTP) sessions. A called party can be invitedseveral times, by different calls, to the same session. If the sessiondescription protocol (SDP) is used, a session is defined by theconcatenation of the SDP user name, session id, network type, addresstype, and address elements in the origin field. Further informationabout SDP can be found in RFC 2327 and in the Internet under the linkhttp://www.ietf.org/rfc/rfc2327.txt.

In addition to the input list for invite messages IL the softswitch 1comprises furthermore a second list, called input list for subsequentmessages SML. Subsequent messages can be for example an acknowledgemessage, a 200-ok message, a cancel message, an option message, or a byemessage.

The acknowledge message ack confirms that the session is established.The cancel message cancels a pending request. The bye message indicatesthe end of a session. The option message requests information about thecapabilities of a server.

Before the softswitch 1 reads the input list for invite messages IL itchecks whether the input list for subsequent messages SML is empty. Ifthe input list for subsequent messages SML is not empty and the messagestored in the input list for subsequent messages SML is not related toan accepted call, the SIP machine 2 of the softswitch 1 adds thismessage to the input list for invite messages IL. Afterwards the SIPmachine 2 checks again if the input list for subsequent messages SML isempty and if applicable adds this further message to the input list forinvite messages IL. In the case, the input list for sub-sequent messagesSML is not empty and the message in input list for subsequent messagesSML relates to an accepted call, this message is processed. These stepsare repeated until the input list for subsequent messages SML is empty.The processing of the messages takes place in a call processing engine3. If the input list for subsequent messages SML is empty, the inputlist for invite messages IL is read and the corresponding new call isstarted. Starting a new call takes also place in the call processingengine 3. The call processing engine 3 sends a message 200-ok . . .contact: SIP: . . . port y back to the inviting party U1, indicatingthat the invite message has been received and that subsequent messages,e.g., acknowledge, cancel or bye, shall be send from now on to anotherport y of the softswitch 1.

In FIG. 2 an example of a message flow is depicted. The example issimplified for better understanding. For exampie the trying message andthe ring message of STP are not shown. In the example the calling partyU1 wants to establish a session with the called party U3. Therefore, thecalling party U1 sends an invite U3 message via port x to the input listfor invite messages IL. In the example, the input list for subsequentmessages SML is empty, which is indicated in FIG. 2 by SML={ }. AS theinput list for subsequent messages SML is empty the invite U3 message isforwarded to the SIP machine 2, which in turn forwards the invite U3message to the party U3. Thereupon, the party U3 sends an ok message,which is also indicted with 200-ok, back to the input list for invitemessages IL of the softswitch 1. The ok message is forwarded to the SIPmachine 2 and finally send to the calling party U1 together with theinformation that from now on all subsequent messages shall be send toport y. Thereupon, the calling party U1 sends an acknowledge message ackvia port y to the input list for subsequent messages SML of thesoftswitch 1. Then, the acknowledge message ack is forwarded to the SIPmachine 2 and from there to the invited party U3.

Now, the signaling is so far completed, the session is established, andthe transfer of user data can start. The transfer of the user data canbe done with the real-time transport protocol (RTP), which is controlledby the real-time transport control protocol (RTCP). The user data aretransmitted in data packets on various ways, which are not controlled bythe softswitch 1.

If the calling party U1 wants to terminate the session with the invitedparty U3, the calling party U1 sends a bye U3 message via port y to theinput list for subsequent messages SML. In the example the calling partyU1 wants to call instantaneously hereon a party U2, whereas the bye U3message is still stored in the input list for subsequent messages SMLand has not yet been processed. Therefore, the input list for subsequentmessages SML is not empty, indicted in FIG. 2 by SML≠{ }. As mentionedabove, foremost, the SIP machine 2 checks whether the bye U3 messagecorresponds to an existing call. Because this is the case, the SIPmachine processes the bye message by forwarding it to the callprocessing engine 3. Now, the input list for subsequent messages SML isempty, indicted in FIG. 2 by SML={ }, and the invite U2 message can beread from the input list for invite messages IL and forwarded to theparty U2. The remaining part of the signalization and user data transfertakes place as described above.

Having illustrated and described a preferred embodiment for a novelmethod for switching invite messages and sub-sequent messages in asoftswitch, it is noted that variations and modifications in the methodcan be made without departing from the spirit of the invention or thescope of the appended claims.

REFERENCE SIGNS

-   IL input list for invite messages-   SML input list for subsequent messages-   1 softswitch-   2 session initiation protocol machine-   3 call-processing engine-   U1 first party-   U2 second party-   U3 third party

1. A method for switching invite messages and subsequent messages in asoftswitch, comprising the following steps: directing the invitemessages to a first list; directing the subsequent messages to a secondlist; and processing the subsequent messages of the second list with ahigher priority than the messages of the first list.
 2. The methodaccording to claim 1, wherein messages of the first list are processed,if the second list is empty.
 3. The method according to claim 1, furthercomprising: directing the invite messages by an inviting party to afirst port of the softswitch; and directing the subsequent messages bythe inviting party to a further port of the softswitch.
 4. The methodaccording to claim 3, further comprising, after the softswitch hasreceived an invite message from the inviting party, transmitting amessage from the softswitch to the inviting party indicating that thesubsequent messages shall be send by the inviting party to the furtherport.
 5. The method according to claim 1, further comprising adding thesubsequent message of the second list to the first list, if thesubsequent message does not relate to an accepted session.
 6. The methodaccording to claim 1, wherein the subsequent message is one of anacknowledge, bye, option and a cancel message.
 7. The method accordingto claim 1, wherein reading from the first list or the second list isexecuted by a session initiation protocol machine.
 8. The methodaccording to claim 1, wherein the softswitch uses the session initiationprotocol.
 9. A computer program element comprising computer program codefor performing steps of a method for switching invite messages andsubsequent messages in a softswitch when loaded in a digital processorof a computing device, the steps comprising: directing the invitemessages to a first list; directing the subsequent messages to a secondlist; and processing the subsequent messages of the second list with ahigher priority than the messages of the first list.
 10. (canceled) 11.A computer-readable medium storing computer-executable instructions thatinstruct a computer to perform steps of a method for switching invitemessages and subsequent messages in a softswitch, the steps comprising:directing the invite messages to a first list; directing the subsequentmessages to a second list; and processing the subsequent messages of thesecond list with a higher priority than the messages of the first list.